Skip to content

feat: mode-aware config defaults for pruning and concurrency#21

Merged
bdchatham merged 2 commits intomainfrom
feat/mode-aware-config-defaults
Mar 23, 2026
Merged

feat: mode-aware config defaults for pruning and concurrency#21
bdchatham merged 2 commits intomainfrom
feat/mode-aware-config-defaults

Conversation

@bdchatham
Copy link
Collaborator

Summary

  • Expands each planner's controllerOverrides() to generate comprehensive operational config (pruning strategy, concurrency workers, retain blocks) derived from the CRD structure
  • Config profiles match sei-infra's production init_configure.sh settings, eliminating the need for manual spec.overrides on standard deployments
  • Bumps RPC group memory request to 64Gi to prevent OOMKills observed on pacific-1

Config profiles

CRD Shape Pruning Keep-Recent Concurrency
Full node (RPC) custom 86,400 500
Full node + snapshotGeneration custom 50,000 500
Archive nothing (ModeArchive) 0 500
Replayer nothing (ModeArchive) 0 500
Validator deferred - -

Layering

sei-config mode defaults -> planner controllerOverrides() -> spec.overrides (escape hatch)

User spec.overrides still takes precedence for power-user cases (e.g., giga_executor on shadow replayer).

Test plan

  • All existing TestConfigApply_* tests updated and passing
  • New tests: TestConfigApply_FullNodeRPCProfile, TestConfigApply_FullNodeSnapshotProducerProfile, TestConfigApply_ArchiveDefaultOverrides, TestConfigApply_ReplayerDefaultOverrides
  • Full ./internal/controller/node/ test suite passes
  • Deploy updated controller and recreate state syncer to verify pruning reduces memory footprint
  • Observe shadow replayer stability after concurrency bump

Each planner's controllerOverrides() now generates comprehensive
operational config matching sei-infra's production settings, removing
the need for manual spec.overrides on standard deployments.

Full node (RPC): custom pruning (keep-recent=86400), concurrency=500
Full node (snapshot producer): custom pruning (keep-recent=50000),
  min-retain-blocks=50000, concurrency=500
Archive: concurrency=500 (ModeArchive handles pruning)
Replayer: concurrency=500 (ModeArchive handles pruning)

Also bumps RPC group memory request to 64Gi to prevent OOMKills.
The 64Gi memory bump belongs in a separate change.
@bdchatham bdchatham marked this pull request as ready for review March 23, 2026 16:46
@bdchatham bdchatham merged commit 3d35100 into main Mar 23, 2026
2 checks passed
bdchatham added a commit that referenced this pull request Mar 23, 2026
Includes mode-aware config defaults (PR #21) and archive tier resource
bump (16 CPU / 256Gi).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant